home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / gnuish / mkinf10 / makefile < prev    next >
Makefile  |  1990-11-01  |  4KB  |  137 lines

  1. # Makefile for info (GNUish MS-DOS)
  2. # Copyright (C) 1990 Free Software Foundation, Inc.
  3. # Thorsten Ohl <td12@ddagsi3.bitnet>, 1990
  4.  
  5. # This program is free software; you can redistribute it and/or modify
  6. # it under the terms of the GNU General Public License as published by
  7. # the Free Software Foundation; either version 1, or (at your option)
  8. # any later version.
  9.  
  10. # This program is distributed in the hope that it will be useful,
  11. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13. # GNU General Public License for more details.
  14.  
  15. # You should have received a copy of the GNU General Public License
  16. # along with this program; if not, write to the Free Software
  17. # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  18.  
  19. # $Header: e:/gnu/info/RCS/makefile 0.1.0.13 90/10/26 22:04:58 tho Exp $
  20.  
  21. # This makefile assumes that you have built the gnulib for the compact
  22. # memory model and that `link' knows how to find it.
  23.  
  24. # General configuration section
  25.  
  26. BUILD    = debug
  27. MODEL    = C
  28. MSC    = 600
  29.  
  30. # Remove these if you keep the sources in one file
  31. SPLIT_INFO = info.d
  32. SPLIT_MAKEINFO = makeinfo.d makeinfo.e
  33.  
  34. # Where the executable and the info files live
  35. BINDIR    = c:/bin
  36. DEFAULT_INFOPATH = .;c:/emacs/info
  37.  
  38. INSTALL = cp -v
  39. DISK    = b
  40. ZIPFILE = info
  41.  
  42. # -DUSE_ASSEMBLER if your compiler can support inline assembler
  43. # for the bios calls
  44. # -DUSE_ANSI if you want to use your ANSI terminal driver (slow)
  45.  
  46. ifeq ($(MSC),600)
  47. # MSC 6.0 knows about inline assembler and can be made even more verbose
  48. VIDEO    = -DUSE_ASSEMBLER
  49. WARNINGS= 4
  50. else
  51. WARNINGS= 3
  52. endif
  53.  
  54. ifeq ($(BUILD),debug)
  55. CFLAGS    = -Od -Zi -A$(MODEL) -DSYSV -W$(WARNINGS) $(VIDEO)
  56. LDFLAGS = /noi/st:0x8000/co
  57. else
  58. # Leave the stack probes in the code ...
  59. CFLAGS    = -Ox -Ge -A$(MODEL) -DSYSV -W$(WARNINGS) $(VIDEO)
  60. LDFLAGS = /noi/st:0x8000/e
  61. endif
  62.  
  63. LOADLIBES = gnulib_$(MODEL)
  64.  
  65. INFO_FLAGS = -DDEFAULT_INFOPATH=\\"$(DEFAULT_INFOPATH)\\"
  66. MAKEINFO_FLAGS = -DMAKEINFO_MAJOR=1 -DMAKEINFO_MINOR=0
  67.  
  68. # Files
  69.  
  70. SRCS    = info.c $(SPLIT_INFO) makeinfo.c $(SPLIT_MAKEINFO) pc_term.c
  71. OBJS    = info.obj makeinfo.obj pc_term.obj
  72. INCS    = pc_term.h
  73.  
  74. CMDS    = info.exe makeinfo.exe
  75.  
  76. DOCS    = default-nodes.texinfo test-suite.texinfo makeinfo.texinfo
  77.  
  78. RCSFILES= $(SRCS) $(INCS) makefile
  79. MISC    = ChangeLog readme readme.gmd todo make.inc 3diff offset tar_-tv \
  80.       $(DOCS)
  81.  
  82.  
  83. # Targets
  84.  
  85. .PHONY: all install dist clean veryclean
  86. all:    $(CMDS)
  87.  
  88. info.exe: info.obj pc_term.obj
  89.  
  90. # This will be the default in the next make release:
  91. %.exe: %.obj
  92.     $(LINK) $(LDFLAGS) $^,$@,,$(LOADLIBES) $(LDLIBS),
  93.  
  94. ifeq ($(MSC),600)
  95. # Work around MSC 6.0 commandline bug...
  96. CL:=$(CFLAGS)
  97. info.obj: info.c $(SPLIT_INFO)
  98.     CL -c $(INFO_FLAGS) $<
  99. else
  100. info.obj: info.c $(SPLIT_INFO)
  101.     $(CC) -c $(CFLAGS) $(INFO_FLAGS) $<
  102. endif
  103.  
  104. makeinfo.obj: makeinfo.c $(SPLIT_MAKEINFO)
  105.     $(CC) -c $(CFLAGS) $(MAKEINFO_FLAGS) $<
  106.  
  107. info.obj pc_term.obj: pc_term.h
  108.  
  109. # Maintenance
  110.  
  111. include make.inc
  112.  
  113. install: $(CMDS)
  114.     $(INSTALL) $^ $(BINDIR)
  115.  
  116. clean:
  117.     $(RM) $(wildcard *.obj)
  118.  
  119. veryclean: clean
  120.     $(RM) *.exe errs tags info.[0-9][0-9]
  121.     rcsclean $(SRCS) $(INCS) makefile
  122.  
  123. tags: $(SRCS)
  124.     etags $^
  125.  
  126. PACKETSIZE = 55
  127. dist: info.01
  128.  
  129. # When this target is remade, we should have the 'big'
  130. # info.c and makeinfo.c files.
  131. info.01: copying readme readme.gmd makefile make.inc Changelog tar_-tv \
  132.      $(DOCS) $(SRCS) $(INCS) $(CMDS)
  133.     shar -Cb16 -F -an'GNUish MS-DOS (make)info' \
  134.         -L$(PACKETSIZE) -o $(basename $@) $^
  135.  
  136.  
  137.